package rs2.consultoria.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;

/**
 * Classe modelo que representa o usuário do sistema.
 * 
 * @author Anderson Marinho da Silva
 */
@Entity
@Table(name="rs2_consultoria.usuario")
public class Usuario extends EntidadeBase implements Serializable {
	private static final long serialVersionUID = 254073838368759188L;

	@NotNull
	@Size(min = 4, max = 200, message = "Um nome deve ser informado para indicar como deseja ser chamado.")
	private String nome;

	@NotEmpty
	@Size(min = 4, max = 100, message = "O nome de usuário deve conter entre 4 e 100 caracteres.")
	@Column(name = "nome_usuario")
	private String nomeUsuario;

	@NotEmpty(message = "Uma senha deve ser informada.")
	private String senha;

	
	@Column(name = "data_ultimo_acesso")
	private Date dataUltimoAcesso;
	
	private Boolean admin;


	public String getNome() {
		return nome;
	}


	public void setNome(String nome) {
		this.nome = nome;
	}


	public String getNomeUsuario() {
		return nomeUsuario;
	}


	public void setNomeUsuario(String nomeUsuario) {
		this.nomeUsuario = nomeUsuario;
	}


	public String getSenha() {
		return senha;
	}


	public void setSenha(String senha) {
		this.senha = senha;
	}


	public Date getDataUltimoAcesso() {
		return dataUltimoAcesso;
	}


	public void setDataUltimoAcesso(Date dataUltimoAcesso) {
		this.dataUltimoAcesso = dataUltimoAcesso;
	}


	public Boolean getAdmin() {
		return admin;
	}


	public void setAdmin(Boolean admin) {
		this.admin = admin;
	}

	
	
}
